package br.com.aeso.bancoCurriculo.controller.login;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;

import br.com.aeso.bancoCurriculo.controller.util.ComumController;
import br.com.aeso.bancoCurriculo.model.comum.excecoes.ProjetoException;
import br.com.aeso.bancoCurriculo.model.usuario.impl.UsuarioImpl;
import br.com.aeso.bancoCurriculo.model.util.Constantes;
import br.com.aeso.bancoCurriculo.model.util.Util;

@ManagedBean
@ViewScoped
public class LoginController extends ComumController implements Serializable{

	private String username;  
    
    private String password;  
    
    public UsuarioImpl getUsuarioLogado() {
		return usuarioLogado;
	}

	public void setUsuarioLogado(UsuarioImpl usuarioLogado) {
		this.usuarioLogado = usuarioLogado;
	}


	private UsuarioImpl usuarioLogado;
      
    public String getUsername() {  
        return username;  
    }  
  
    public void setUsername(String username) {  
        this.username = username;  
    }  
  
    public String getPassword() {  
        return password;  
    }  
  
    public void setPassword(String password) {  
        this.password = password;  
    }  
    
    
    
    
  
    public void logar(ActionEvent actionEvent) throws ProjetoException{  
    	
        usuarioLogado = (UsuarioImpl) fachada.validarLogin(this.getUsername(), this.getPassword());
        if (usuarioLogado != null){
        	setAttributeSession(ATRIBUTO_SESSAO_USUARIO_LOGADO, usuarioLogado);
        	
        	//Implementar o tratamento engtre tipos de usuario.
        	if(usuarioLogado.getTipo().equals("e")){
        		this.redirecionarTela("/BancoCurriculo/view/pesquisaCurriculo/pesquisaCurriculo.xhtml");
        	}else{
        		this.usuarioLogado.setChavePrimaria(usuarioLogado.getChavePrimaria());
        		this.redirecionarTela("/BancoCurriculo/view/cadastroCurriculo/cadastroCurriculo.xhtml");
        		return;
        	}
        }else {
        	
        	Util.exibeMensagemTela(FacesMessage.SEVERITY_ERROR,
					Constantes.PARAMETRO_MSG_USUARIO_SENHA_INVALIDO);
        	
        }
        
    }  
}
